package com.dianzhihan.cashier.model.product;

import com.dianzhihan.cashier.controller.ErrorRedirectException;
import com.dianzhihan.cashier.model.AbsValidator;

/**
 * @author Dianzhi Han
 * @version 1.0
 * @description: 商品价格的合法性校验
 * @date 2023/2/9 12:13
 */
public class PriceValidator extends AbsValidator {
    @Override
    public String validate(String price, String module, String redirectUrl) {
        price =  super.validate(price, module, redirectUrl);

        // 得确认下 price 是不是数字，并且得是 > 0 的数字
        try {
            double number = Double.parseDouble(price);
            if (number <= 0) {
                throw new ErrorRedirectException("price 必须大于 0", module, redirectUrl);
            }
        } catch (NumberFormatException exc) {
            // 说明传入的 stock 无法转成数字
            throw new ErrorRedirectException("price 必须是数字", module, redirectUrl);
        }

        return price;
    }
}
